The use of bar codes to identify products, documents, or other media, or to specify characteristics thereof, has become very common. Bar codes can improve the speed and accuracy of information transfer. Unfortunately, the increase in bar code use has led to difficulties in read accuracy and reliability.
In known read systems, a source is usually used to generate a beam of radiant energy which is directed onto the bar code, usually by moving a bar coded medium through a read station. A photodetector is used to detect radiant energy reflected off of the moving bar code.
The photodetector produces a bar code modulated analog signal in response to reflected radiant energy. The modulated analog signal, which can have high and low amplitudes corresponding to the bar and space elements of the bar code, is then converted to a binary representation of the bar coded information.
FIG. 1 illustrates a medium M which carries a bar code B previously applied thereto. The bar code B can be detected and converted to a binary representation thereof by means of a known read system 10.
The system 10 includes a source of radiant energy 12. The source 12 is used to generate a beam of radiant energy R.sub.I, which could be monochromatic, and to direct that beam R.sub.I onto a predetermined region of a read area.
As the medium M and associated bar code B move in a direction 14 past the predefined region, the radiant energy R.sub.I is reflected by the elements of the bar code B, thereby forming a modulated, reflected beam of radiant energy R.sub.f. The beam R.sub.f is directed to a radiant energy sensor 16. The sensor 16 could be a photodiode, for example, a phototransistor, or other photo-sensitive device.
Output from the sensor 16 on a conductor or a line 18 is a modulated, analog, electrical signal 20 which is representative of the elements of the bar code B. The analog signal 20 is coupled to a discriminator circuit 22. Known discriminator circuits include amplitude comparators, as well as various types of differentiators.
The output signal from the discriminator circuit 22 on a line 24, which might be, for example, a bi-valued voltage, +V and -V, is a representation of the modulated analog signal 26. The signal 26 could be coupled to a converter 28 for purposes of generating a digitized representation 30 of the modulated analog signal 20 at logic voltage levels.
one problem associated with bar code reading circuitry is noise, which can cause false "ones" or "zeros" in the binary output stream. Noise can be due to variations in the quality of the bar code, as well as the configuration of the read circuitry.
In many applications, inexpensive printers are used to create bar codes on surfaces with some degree of roughness. The printer may print bars with a significant degree of Element Reflectance Nonuniformity (ERN), as defined in ANSI Standard X3,182-1990, or reflectance variation across an element. Sensitive detectors may interpret the nonuniformity as additional bar or space elements, thus misreading the code.
A granular surface onto which the codes are printed may contribute to ERN by differentially reflecting more or less light onto the detector. A nonuniform absorption of the printing into the surface material can also contribute to ERN.
Another problem associated with known bar code reading circuits is inaccuracy caused by limited dynamic range of the read circuitry. As a result, that circuitry is unable to discriminate relatively high frequency bar coded elements. This in turn imposes limitations on the velocity at which the bar coded medium M can move through the read station, as well as the range of velocity variations of the medium M that can be tolerated by the read circuitry.
Often, the bar and space element speed is high enough that the detector attenuates the amplitude of the narrow and higher frequency elements relative to the wide elements. This effect is defined as modulation in the ANSI Specification X3,192-1990"Bar Code Print Quality--Guideline".
Modulation of the bar coded signal may occur when bandwidth-limited sensors are employed in bar code readers. This effect leads to elements with the same logical value, one or zero, but with differing amplitudes as the code is scanned.
Wide elements typically have a lower frequency content than do the narrow elements, and thus, would possess higher amplitudes in the bandwidth limited systems. The convolution of an aperture and wide or narrow bar code elements may also contribute to higher amplitudes for wide elements relative to narrow elements.
The rate at which the bar and space elements of a bar code symbol are sensed represents a set of frequencies to which the detector must be responsive. As the elements are sensed at higher and higher speeds, the frequency response requirements of the detector increases.
The ERN of the wide elements is detectable as signal changes within a bar code element. The modulation effects are detectable as changes in amplitude between portions of the signal representative of the same logical value. FIG. 2 is a graphical example of ERN and modulation present on the modulated analog signal 20 of FIG. 1.
In the waveform 20, the ERN noise 20a, while illustrated in connection with positive peak analog values, is also present on negative peak values. Similarly, the modulation effects reduce both positive peak values, such as 20b, and increases negative peak values (not shown.)
In addition to the effects of bandwidth-limited sensors, modulation of a bar code may be created in other ways. For a given aperture size of a sensor, there is a minimum element width which will generate a maximum signal. Bar or space elements which are narrower than this minimum will allow reflected light from adjoining elements to "leak" onto the detector, reducing the signal amplitude.
A third method by which signal modulation may occur is by tilting a non-symmetric (i.e., rectangular) aperture with respect to the bar and space element edges. The combination of a tilted aperture across bar code element edges results in a reduced amplitude for narrow bars and spaces relative to wide bar and space amplitudes.
As seen in FIG. 2, the modulation need not be symmetrically placed with respect to wide bars and spaces. Bar code edge detectors utilizing threshold crossing or peak detection techniques are at times not capable of decoding signals with the modulation shown in FIG. 2 with the desired accuracy and reliability.
Circuits which differentiate the signal are theoretically capable of identifying each positive and negative peak where the first derivative of the input signal goes to zero. Although the output of this type of circuit is independent of the absolute signal amplitude, a differentiator is very sensitive to any high frequency noise which may be present or the signal. Hence, ERN noise can produce false "one" or "zero" pulses.
Additionally, modulation effects can modify the sensor waveform to the point that traditional element edge determination techniques do not function adequately.
The use of hysteresis produced by positive feedback in comparator circuits may also limit the dynamic range of bar code speeds. Large amounts of positive feedback will tend to limit the ability of a system to detect low amplitude signals, such as those generated by low bandwidth systems when exposed to high speed bar codes. At very low bar code speeds, where an unchanging input signal exists for a significant amount of time, the low hysteresis levels needed for high speed operation may not be adequate in the presence of electronic noise and the input offset voltage inherent in comparators.
Therefore, a bar code digitizing circuit must reconcile several conflicting performance requirements in order to accurately and reliably interpret an incoming waveform. This waveform may consist of high or low frequency constituents, ERN, modulation, overall amplitude variations, acceleration, or other undesirable modifiers to the bar coded signal.
Thus, there continues to be a need for accurate, noise insensitive read circuity with substantial bandwidth. Preferably, such circuitry will be inexpensive and readily manufacturable.